package com.fengchao.task;

import com.fengchao.service.TaskService;
import com.fengchao.util.MailTools;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

/**
 * Created by wangnian on 2016/7/7.
 */
@Service
public class TaskAccess {

    @Autowired
    private TaskService taskService;
    @Autowired
    private Environment env;

    private static final Logger logger = LoggerFactory.getLogger(TaskAccess.class);


    /**
     * 扫描过期的修改为无效的状态并释放库存
     */
    @Scheduled(fixedRate = 30000)
    public void updateStatusConfirming() {
        try {
            taskService.OrderScan();
            logger.info("扫描过期的订单修改为无效的状态并释放库存==任务进行中=================================================");
        } catch (Exception ex) {
            logger.error("扫描过期的订单修改为无效的状态并释放库存异常：{}", ex);
            MailTools.SendMail("wangn@letswarm.com", env.getProperty("spring.profiles.active") + "环境+定时任务订单修改为无效的状态error", "错误的异常：" + ex.toString());
        }
    }

    /**
     * 每天凌晨1点将有效的没有验的票改为失效
     */
    @Scheduled(cron = "0 0 1 * * ?")
    public void updateTicketExpired() {
        try {
            taskService.updateTicketExpired();
            logger.info("更新有效票为失效==任务进行中=================================================");
        } catch (Exception ex) {
            logger.error("更新有效票为失效异常：{}", ex);
            MailTools.SendMail("wangn@letswarm.com", env.getProperty("spring.profiles.active") + "环境+定时任务更新有效票为失效error", "错误的异常：" + ex.toString());
        }
    }
    /**
     * 扫描 将所有过期的众筹下架
     */
//    @Scheduled(fixedRate = 60000)
//    public void updateCrowdfundingCancel() {
//        try {
//            taskService.updateCrowdfundingCancel();
//            logger.info("将所有过期的众筹下架==任务进行中=================================================");
//        } catch (Exception ex) {
//            logger.error("将所有过期的众筹下架异常：{}", ex);
//            MailTools.SendMail("wangn@letswarm.com", "定时任务期的众筹下架error", "错误的异常：" + ex.toString());
//        }
//    }

    /**
     * 统计 心动艺人的结果
     */
//    @Scheduled(fixedRate = 60000)
//    public void statisticsUpdateWishReslt() {
//        try {
//            taskService.statisticsUpdateWishReslt();
//            logger.info("统计心动艺人的结果==任务进行中=================================================");
//        } catch (Exception ex) {
//            logger.error("定时任务期的统计心动艺人的结果异常：{}", ex);
//            MailTools.SendMail("wangn@letswarm.com", "定时任务期的统计心动艺人的结果error", "错误的异常：" + ex.toString());
//        }
//    }

    /**
     * 发送系统消息
     */
//    @Scheduled(fixedRate = 60000)
//    public void push() {
//        try {
//            taskService.pushSysMessage();
//            logger.info("定时任务发送系统消息==任务进行中=================================================");
//        } catch (Exception ex) {
//            logger.error("定时任务发送系统消息异常：{}", ex);
//            MailTools.SendMail("wangn@letswarm.com", "定时任务发送系统消息error", "错误的异常：" + ex.toString());
//        }
//
//    }


}
